﻿using System;
using System.Linq;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using ChampionFramework.Models;

namespace ChampionFramework
{
	// Note: For instructions on enabling IIS6 or IIS7 classic mode,
	// visit http://go.microsoft.com/?LinkId=9394801

	public class MvcApplication : System.Web.HttpApplication
	{
		protected void Application_Start()
		{
			AreaRegistration.RegisterAllAreas();

			WebApiConfig.Register(GlobalConfiguration.Configuration);
			FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
			RouteConfig.RegisterRoutes(RouteTable.Routes);
			BundleConfig.RegisterBundles(BundleTable.Bundles);
			AuthConfig.RegisterAuth();
            this.LoadBancoDeDados();
		}

        public void LoadBancoDeDados()
        {
            var time1 = new Time
            {
                Nome = "Bahia",
                Tecnico = "Jorginho"
            };

            var time2 = new Time
            {
                Nome = "Vitória",
                Tecnico = "Caio Júnior"
            };

            var jogador1 = new Jogador
            {
                Nome = "Jogador1",
                Nacionalidade = "Baiano",
                Idade = 22,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador2 = new Jogador
            {
                Nome = "Jogador2",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador3 = new Jogador
            {
                Nome = "Jogador3",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador4 = new Jogador
            {
                Nome = "Jogador4",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador5 = new Jogador
            {
                Nome = "Jogador5",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };

            var jogador6 = new Jogador
            {
                Nome = "Jogador6",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador7 = new Jogador
            {
                Nome = "Jogador7",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador8 = new Jogador
            {
                Nome = "Jogador8",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador9 = new Jogador
            {
                Nome = "Jogador9",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador10 = new Jogador
            {
                Nome = "Jogador10",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador11 = new Jogador
            {
                Nome = "Jogador11",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };


            var jogador12 = new Jogador
            {
                Nome = "Jogador12",
                Nacionalidade = "Bahiano",
                Idade = 22,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador13 = new Jogador
            {
                Nome = "Jogador13",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador14 = new Jogador
            {
                Nome = "Jogador14",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador15 = new Jogador
            {
                Nome = "Jogador15",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador16 = new Jogador
            {
                Nome = "Jogador16",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };

            var jogador17 = new Jogador
            {
                Nome = "Jogador17",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };
            var jogador18 = new Jogador
            {
                Nome = "Jogador18",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time1
            };




            var jogador19 = new Jogador
            {
                Nome = "Jogador19",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };

            var jogador20 = new Jogador
            {
                Nome = "Jogador20",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador21 = new Jogador
            {
                Nome = "Jogador21",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador22 = new Jogador
            {
                Nome = "Jogador22",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador23 = new Jogador
            {
                Nome = "Jogador23",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador24 = new Jogador
            {
                Nome = "Jogador24",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador25 = new Jogador
            {
                Nome = "Jogador25",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador26 = new Jogador
            {
                Nome = "Jogador26",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador27 = new Jogador
            {
                Nome = "Jogador27",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador28 = new Jogador
            {
                Nome = "Jogador28",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador29 = new Jogador
            {
                Nome = "Jogador29",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador30 = new Jogador
            {
                Nome = "Jogador30",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador31 = new Jogador
            {
                Nome = "Jogador31",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador32 = new Jogador
            {
                Nome = "Jogador32",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador33 = new Jogador
            {
                Nome = "Jogador33",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador34 = new Jogador
            {
                Nome = "Jogador34",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador35 = new Jogador
            {
                Nome = "Jogador35",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };
            var jogador36 = new Jogador
            {
                Nome = "Jogador36",
                Nacionalidade = "Gothan City",
                Idade = 49,
                DataInscricao = DateTime.Today,
                Time = time2
            };

            var faserupo1 = new FaseGrupo
            {
                QtdGrupos = 4,
                DataInicio = DateTime.Today,
                DataFim = DateTime.Today.AddMonths(1),
                Descricao = "Primeira Fase",
            };
            var grupo1 = new Grupo
            {
                FaseGrupo = faserupo1,
                Nome = "A",
            };
            var grupo2 = new Grupo
            {
                FaseGrupo = faserupo1,
                Nome = "B"
            };

            grupo1.Time.Add(time1);
            grupo1.Time.Add(time2);
            ChampionContextContainer db = new ChampionContextContainer();
            if (db.TimeSet.Count() == 0)
                db.TimeSet.AddObject(time1);
            if (db.JogadorSet.Count() == 0)
            {
                db.JogadorSet.AddObject(jogador1);
                db.JogadorSet.AddObject(jogador2);
                db.JogadorSet.AddObject(jogador3);
                db.JogadorSet.AddObject(jogador4);
                db.JogadorSet.AddObject(jogador5);
                db.JogadorSet.AddObject(jogador6);
                db.JogadorSet.AddObject(jogador7);
                db.JogadorSet.AddObject(jogador8);
                db.JogadorSet.AddObject(jogador9);
                db.JogadorSet.AddObject(jogador10);
                db.JogadorSet.AddObject(jogador11);
                db.JogadorSet.AddObject(jogador12);
                db.JogadorSet.AddObject(jogador13);
                db.JogadorSet.AddObject(jogador14);
                db.JogadorSet.AddObject(jogador15);
                db.JogadorSet.AddObject(jogador16);
                db.JogadorSet.AddObject(jogador17);
                db.JogadorSet.AddObject(jogador18);
                db.JogadorSet.AddObject(jogador19);
                db.JogadorSet.AddObject(jogador20);
                db.JogadorSet.AddObject(jogador21);
                db.JogadorSet.AddObject(jogador22);
                db.JogadorSet.AddObject(jogador23);
                db.JogadorSet.AddObject(jogador24);
                db.JogadorSet.AddObject(jogador25);
                db.JogadorSet.AddObject(jogador26);
                db.JogadorSet.AddObject(jogador27);
                db.JogadorSet.AddObject(jogador28);
                db.JogadorSet.AddObject(jogador29);
                db.JogadorSet.AddObject(jogador30);
                db.JogadorSet.AddObject(jogador31);
                db.JogadorSet.AddObject(jogador32);
                db.JogadorSet.AddObject(jogador33);
                db.JogadorSet.AddObject(jogador34);
                db.JogadorSet.AddObject(jogador35);
                db.JogadorSet.AddObject(jogador36);
            }
            if (db.EventoSet.Count() == 0)
            {
                /*
				db.EventoSet.AddObject(gol1);
				db.EventoSet.AddObject(cartao1);
				db.EventoSet.AddObject(falta1);
				db.EventoSet.AddObject(lesao1);
				db.EventoSet.AddObject(substituicao1);
                 */
            }
            if (db.FaseSet.Count() == 0)
                db.FaseSet.AddObject(faserupo1);
            if (db.GrupoSet.Count() == 0)
                db.GrupoSet.AddObject(grupo1);
            db.SaveChanges();
        }
	}
}